using B.S.NewMedical.ErrorCode;
using MediatR;

namespace B.S.NewMedical.Api.Write.Application.Command.User
{
    /// <summary>
    /// 创建用户命令
    /// </summary>
    public class CreateUserCommand : IRequest<ApiResult<int>>
    {
        /// <summary>
        /// 用户名
        /// </summary>
        public required string Username { get; set; }

        /// <summary>
        /// 用户真实姓名
        /// </summary>
        public required string RealName { get; set; }

        /// <summary>
        /// 用户密码
        /// </summary>
        public required string UserPassword { get; set; }

        /// <summary>
        /// 性别 (0-未知, 1-男, 2-女)
        /// </summary>
        public int Gender { get; set; }

        /// <summary>
        /// 地址
        /// </summary>
        public string? Address { get; set; }

        /// <summary>
        /// 联系电话
        /// </summary>
        public string? ContactPhone { get; set; }

        /// <summary>
        /// 拼音缩写
        /// </summary>
        public string? PinyinAbbreviation { get; set; }

        /// <summary>
        /// 类型 (1-医生, 2-护士, 3-管理员, 4-药房管理员, 5-收费员)
        /// </summary>
        public int Type { get; set; }

        /// <summary>
        /// 科室ID
        /// </summary>
        public int? DepartmentId { get; set; }

        /// <summary>
        /// 挂号费
        /// </summary>
        public decimal RegistrationFee { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? Remark { get; set; }
    }
} 